<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>simvoc.core.storage.FileCache</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="simvoc-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >SimVOC</th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="simvoc-module.html">Package&nbsp;simvoc</a> ::
        <a href="simvoc.core-module.html">Package&nbsp;core</a> ::
        <a href="simvoc.core.storage-module.html">Module&nbsp;storage</a> ::
        Class&nbsp;FileCache
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class FileCache</h1><p class="nomargin-top"><span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache">source&nbsp;code</a></span></p>
<center>
<center>  <map id="uml_class_diagram_for_simvoc_c_47" name="uml_class_diagram_for_simvoc_c_47">
<area shape="rect" id="node115" href="simvoc.core.storage.FileCache-class.html#__init__" title="x.__init__(...) initializes x; see x.__class__.__doc__ for signature" alt="" coords="17,39,459,57"/>
<area shape="rect" id="node115" href="simvoc.core.storage.FileCache-class.html#xfer_complete" title="Method invoked by a simulator event when a file becomes available in the &#160;file cache." alt="" coords="17,57,459,76"/>
<area shape="rect" id="node115" href="simvoc.core.storage.FileCache-class.html#get_file" title="Requests a file from the cache." alt="" coords="17,76,459,95"/>
<area shape="rect" id="node115" href="simvoc.core.storage.FileCache-class.html#add_file" title="Adds a file directly into the cache, without transferring it across the &#160;network" alt="" coords="17,95,459,113"/>
<area shape="rect" id="node115" href="simvoc.core.storage.FileCache-class.html#flush_file" title="Removes a file from the cache" alt="" coords="17,113,459,132"/>
<area shape="rect" id="node115" href="simvoc.core.storage.FileCache-class.html#add_store" title="Adds a FileStore (server component) that can be queried to find files by &#160;name and transfer them into the cache" alt="" coords="17,132,459,151"/>
<area shape="rect" id="node115" href="simvoc.core.storage.FileCache-class.html#remove_store" title="Removes a FileStore from the list of servers that can be queried" alt="" coords="17,151,459,169"/>
<area shape="rect" id="node115" href="simvoc.core.storage.FileCache-class.html#__str__" title="str(x)" alt="" coords="17,169,459,188"/>
<area shape="rect" id="node1" href="simvoc.core.storage.FileCache-class.html" title="Transparent file cache: transfers a file if necessary; otherwise, raises a callback event at the current simulator clock time to notify client code that the simulated file is ready for simulated use." alt="" coords="5,6,469,194"/>
</map>
  <img src="uml_class_diagram_for_simvoc_c_47.gif" alt='' usemap="#uml_class_diagram_for_simvoc_c_47" ismap="ismap" class="graph-without-title" />
</center>
</center>
<hr />
<p>Transparent file cache: transfers a file if necessary; otherwise, 
  raises a callback event at the current simulator clock time to notify 
  client code that the simulated file is ready for simulated use. Note that
  this cache does not provide any internal expiration mechanism. Once a 
  file has been received into the cache, it remains in the cache 
  permanently.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.storage.FileCache-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">name</span>,
        <span class="summary-sig-arg">sim</span>,
        <span class="summary-sig-arg">speed</span>,
        <span class="summary-sig-arg">**kwds</span>)</span><br />
      x.__init__(...) initializes x; see x.__class__.__doc__ for signature</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type"><a href="simvoc.core.results.FileTransferResult-class.html" 
      class="link">results.FileTransferResult</a></span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.storage.FileCache-class.html#xfer_complete" class="summary-sig-name">xfer_complete</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">cur_time</span>,
        <span class="summary-sig-arg">simobj</span>,
        <span class="summary-sig-arg">filename</span>,
        <span class="summary-sig-arg">datafile</span>,
        <span class="summary-sig-arg">srv_n</span>,
        <span class="summary-sig-arg">cli_n</span>,
        <span class="summary-sig-arg">speed</span>)</span><br />
      Method invoked by a simulator event when a file becomes available in 
      the file cache.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.xfer_complete">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type"><a href="simvoc.core.results.FileRequestResult-class.html" 
      class="link">results.FileRequestResult</a></span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.storage.FileCache-class.html#get_file" class="summary-sig-name">get_file</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">filename</span>,
        <span class="summary-sig-arg">callback</span>)</span><br />
      Requests a file from the cache.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.get_file">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.storage.FileCache-class.html#add_file" class="summary-sig-name">add_file</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">datafile</span>)</span><br />
      Adds a file directly into the cache, without transferring it across 
      the network</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.add_file">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.storage.FileCache-class.html#flush_file" class="summary-sig-name">flush_file</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">filename</span>)</span><br />
      Removes a file from the cache</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.flush_file">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.storage.FileCache-class.html#add_store" class="summary-sig-name">add_store</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">store</span>)</span><br />
      Adds a FileStore (server component) that can be queried to find files
      by name and transfer them into the cache</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.add_store">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.storage.FileCache-class.html#remove_store" class="summary-sig-name">remove_store</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">store</span>)</span><br />
      Removes a FileStore from the list of servers that can be queried</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.remove_store">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="simvoc.core.storage.FileCache-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
      str(x)</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.__str__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__format__</code>,
      <code>__getattribute__</code>,
      <code>__hash__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__repr__</code>,
      <code>__setattr__</code>,
      <code>__sizeof__</code>,
      <code>__subclasshook__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Properties</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Properties"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">name</span>,
        <span class="sig-arg">sim</span>,
        <span class="sig-arg">speed</span>,
        <span class="sig-arg">**kwds</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>x.__init__(...) initializes x; see x.__class__.__doc__ for 
  signature</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>name</code></strong> (str) - Name of the file cache</li>
        <li><strong class="pname"><code>sim</code></strong> - Reference to the simulator instance</li>
        <li><strong class="pname"><code>speed</code></strong> (number) - Speed of the network link into the file cache, in BYTES per 
          second (see <a href="simvoc.core.units-module.html" 
          class="link">units</a> for constants). A speed of zero will 
          result in instantaneous transfers.</li>
        <li><strong class="pname"><code>kwds</code></strong> - Extra data</li>
    </ul></dd>
    <dt>Overrides:
        object.__init__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="xfer_complete"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">xfer_complete</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">cur_time</span>,
        <span class="sig-arg">simobj</span>,
        <span class="sig-arg">filename</span>,
        <span class="sig-arg">datafile</span>,
        <span class="sig-arg">srv_n</span>,
        <span class="sig-arg">cli_n</span>,
        <span class="sig-arg">speed</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.xfer_complete">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Method invoked by a simulator event when a file becomes available in 
  the file cache. Notifies client code of file availability by means of a 
  callback function.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>cur_time</code></strong> (number) - Current simulated time</li>
        <li><strong class="pname"><code>simobj</code></strong> - Reference to the simulator object</li>
        <li><strong class="pname"><code>filename</code></strong> (str) - Name of the file</li>
        <li><strong class="pname"><code>datafile</code></strong> - Reference to the DataFile object</li>
        <li><strong class="pname"><code>srv_n</code></strong> (str) - Name of the file server</li>
        <li><strong class="pname"><code>cli_n</code></strong> (str) - Name of the file cache</li>
        <li><strong class="pname"><code>speed</code></strong> (number) - Transfer speed in BYTES per second (see <a 
          href="simvoc.core.units-module.html" class="link">units</a>)</li>
    </ul></dd>
    <dt>Returns: <a href="simvoc.core.results.FileTransferResult-class.html" 
      class="link">results.FileTransferResult</a></dt>
  </dl>
</td></tr></table>
</div>
<a name="get_file"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_file</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">filename</span>,
        <span class="sig-arg">callback</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.get_file">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Requests a file from the cache. If the file is not in the cache, all 
  known servers are queried to locate the file, and the file is transferred
  into the cache. If the file cannot be found on any server, an Exception 
  occurs.</p>
  <p>This method works asynchronously: client code must specify a callback 
  function, which will take two arguments: the filename and the DataFile 
  instance itself. This callback will be invoked once the file becomes 
  available in the cache.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>filename</code></strong> (str) - Name of the DataFile to request</li>
        <li><strong class="pname"><code>callback</code></strong> - Callback function to invoke when the file becomes available</li>
    </ul></dd>
    <dt>Returns: <a href="simvoc.core.results.FileRequestResult-class.html" 
      class="link">results.FileRequestResult</a></dt>
  </dl>
</td></tr></table>
</div>
<a name="add_file"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">add_file</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">datafile</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.add_file">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Adds a file directly into the cache, without transferring it across 
  the network</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>datafile</code></strong> - DataFile instance to add to the cache</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="flush_file"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">flush_file</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">filename</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.flush_file">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Removes a file from the cache</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>filename</code></strong> (str) - Name of the file to remove</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="add_store"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">add_store</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">store</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.add_store">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Adds a FileStore (server component) that can be queried to find files 
  by name and transfer them into the cache</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>store</code></strong> - FileStore instance to add</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="remove_store"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">remove_store</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">store</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.remove_store">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Removes a FileStore from the list of servers that can be queried</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>store</code></strong> - FileStore instance to remove</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__str__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
    <br /><em class="fname">(Informal representation operator)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="simvoc.core.storage-pysrc.html#FileCache.__str__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>str(x)</p>
  <dl class="fields">
    <dt>Overrides:
        object.__str__
        <dd><em class="note">(inherited documentation)</em></dd>
    </dt>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="simvoc-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >SimVOC</th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0 on Fri Oct 23 11:04:33 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
